package MagicSquareTest;
import java.util.*;
public class MagicSquare {
public boolean isMagicSquare(int arr[][]){
boolean value = isSquare(arr);
List<Integer> sums = new ArrayList<Integer>();
if(value==false){
return false;
}
int r = arr.length;
//System.out.println("r is "+ r);
if(value==true){
for(int i=1; i<=r;i++){ //sums for horizontal rows
int sum=0;
for(int ii=0; ii<r; ii++){
sum+=arr[i-1][ii];
}
sums.add(sum);
//System.out.println("Current sum is:" + sum);
}
for(int i=0; i<r;i++){ //sums for vertical columns
int sum=0;
for(int ii=1; ii<=r; ii++){
sum+=arr[ii-1][i];
}
sums.add(sum);
//System.out.println("Current sum is:" + sum);
}
int loop=1;
while(loop==1){
int sum=0;
for(int i=0; i<r;i++){ //sums for diagonal left to right
for(int ii=0; ii<r; ii++){
if(i==ii){
sum+=arr[i][i];
}
}
}
sums.add(sum);
//System.out.println("Current sum is:" + sum);
loop++;
}
int loop1=1;
while(loop1==1){
int sum=0;
for(int i=0; i<r;i++){ //sums for diagonal right to left
for(int ii=r-i-1; ii>=0; ii--){
sum+=arr[i][ii];
//System.out.print(arr[i][ii]);
break;
}
}
sums.add(sum);
//System.out.println("Current sum is:" + sum);
loop1++;
}
}
System.out.println(sums);
int check = sums.get(0);
for(int i=1; i<sums.size();i++){
if(sums.get(i)!=check)
return false;
}
return true;
/*
if(!(sums.contains(check))){
return false;
}else
return true;
*/
}
public boolean isSquare(int arr[][]){
if(arr.length==arr[0].length){
return true;
}else
return false;
}
}